package com.jrauto.CarAppBackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jrauto.CarAppBackend.entity.Feedback;

import java.util.List;

/**
* @author huimin
* @description 针对表【feedback(用户反馈表)】的数据库操作Service
* @createDate 2025-06-25 18:58:45

 * 反馈业务逻辑接口
 * 继承 IService 即可获得常见的单表操作方法
 */
public interface FeedbackService extends IService<Feedback> {

    /**
     * 新增一条反馈记录
     * @param feedback 反馈实体对象
     * @return true 成功，false 失败
     */
    boolean addFeedback(Feedback feedback);

    /**
     * 根据ID获取反馈详情
     * @param id 反馈ID
     * @return 对应的反馈实体，如果不存在则返回 null
     */
    Feedback getFeedbackById(Long id);

    /**
     * 更新反馈记录
     * @param feedback 需要更新的反馈实体，ID必须存在
     * @return true 成功，false 失败
     */
    boolean updateFeedback(Feedback feedback);

    /**
     * 根据ID删除反馈记录
     * @param id 反馈ID
     * @return true 成功，false 失败
     */
    boolean deleteFeedback(Long id);

    /**
     * 获取所有反馈记录
     * @return 反馈列表
     */
    List<Feedback> getAllFeedbacks();

    /**
     * 根据状态查询反馈记录
     * @param status 反馈状态
     * @return 状态匹配的反馈列表
     */
    List<Feedback> getFeedbacksByStatus(Integer status);

    /**
     * 根据类型查询反馈记录
     * @param type 反馈类型
     * @return 类型匹配的反馈列表
     */
    List<Feedback> getFeedbacksByType(String type);
}
